package br.com.jbssistemas.loterica.managedbeans;

import br.com.jbssistemas.loterica.daos.CofreDAO;
import br.com.jbssistemas.loterica.daos.MovimentacaoCofreDAO;
import br.com.jbssistemas.loterica.entidades.Cofre;
import br.com.jbssistemas.loterica.entidades.MovimentacaoCofre;
import br.com.jbssistemas.loterica.enums.TipoMovimentacao;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Named;
import javax.faces.model.SelectItem;
import javax.faces.view.ViewScoped;

/**
 *
 * @author daniel
 * 
 */
@Named(value = "movimentacaoCofreBean")
@ViewScoped
public class MovimentacaoCofreBean extends AbstractBean<MovimentacaoCofre> implements Serializable{

    private List<SelectItem> cofres;
    
    public MovimentacaoCofreBean() {
        super(MovimentacaoCofre.class, new MovimentacaoCofreDAO());
    }
    
    /**
     * 
     * get para a propriedade List<SelectItem> cofres
     * 
     * @return Lista de SelectItem
     * 
     **/
    public List<SelectItem> getCofres() {
        
        if(cofres == null){
        
            cofres = new ArrayList<SelectItem>();
            
            for(Cofre c : new CofreDAO().findAll()){
            
                cofres.add(new SelectItem(c, c.getNome()));
                
            }
                
        }
        
        return cofres;
    }
    
    /**
     * 
     * get para a propriedade List<SelectItem> caixas
     * 
     * @return Array de TipoMovimentacao
     * 
     **/

    public TipoMovimentacao[] getTiposMovimentacoes(){
    
        return TipoMovimentacao.values();
        
    }
}
